Method for transmitting print data, server and mobile terminal

ABSTRACT

The invention relates to a method for transmitting print data, a server (120) and a mobile terminal (100). The invention further relates to a corresponding computer-readable storage medium. In the method, steps are carried out which include receiving the print job, conversion into the printer-specific format, saving the printer-specific format on another server (130), informing the mobile terminal (100) of the completed conversion, reporting the completed conversion to the user and, after confirmation from the user, transmitting the print data to the mobile terminal (100), in order to forward the print data in a last step to a printer (200) connected to the mobile terminal (100).

TECHNICAL FIELD

The invention relates to a method for transmitting print data, a serverand a mobile terminal. The invention further relates to a correspondingcomputer-readable storage medium.

BACKGROUND

Terminal server applications whose extended variants are also known asvirtual desktop applications (VD applications), make it possible tocentralize required hardware at one location or only a few locations,such as data centers, since only standardized hardware providing thenecessary input/output means is required at the terminals. This allows,inter alia, centralizing management of the application, data processingand data protection. Hardware defects at the terminal do not affect theapplication and all terminals operate with the same version of theapplication.

The proliferation of mobile terminals with mobile data links makes itpossible to use the mobile terminals, for example a tablet computer or amobile phone, as a terminal.

When a VD session is started and executed on the terminal, the user hasaccess only to the applications and data residing on the VD-Server.Local applications, i.e. applications installed on the terminal, cannotaccess the data on the server and applications installed on theVD-Server cannot access data stored on the terminal, for example on themobile terminal. The only resources of the mobile terminal, which theuser can use as part of the session, are those the user needs forcontrolling this session. These are, for example, a keyboard that can bevirtually displayed on the screen or that may actually be physicallypresent, the display screen and a pointing device, typically a mouse ora touch screen. Other resources are not available to the user as part ofthe session.

If in the context of the application, the user wants to print modifiedor generated data, then the user must have access to a printer connectedto the server, for which the application, the data are processed forprinting subsequent to a print request by the user, thereby generatingprint data that the server may then forward to the printer.

One or more printers may have been set up for the user in the VDsession. These are printers located on the corporate network. The useris advantageously at his workplace. However, if the user is travelingwith his mobile terminal outside the company premises, he can no longeruse these printers. If the user wants to print a document that isaccessible only via the closed network, multiple steps are required; ifonly one of these steps fails, the user cannot print the document. Inthe first step, the user must copy the document from the corporatenetwork onto his mobile terminal. From there, the document is sent tothe printer, with the assumption that the document is in the correctprint data format. The user can evaluate this only when he has theactual print in hand. Since he has no other support, he must convert thedocument to the proper format in the corporate network. This task isusually handled by the printer driver, which subsequently forwards theconverted document to the printer. No provision for user intervention ismade at the point. The user must therefore interrupt the usual printingprocess to gain access to the print data. It is hence obvious that inthe prior art a user who performs a VD-session on a server via a mobileterminal and a mobile data connection faces major problems whenoutputting one of the documents stored on the server on a locallyavailable printer.

Mobile terminals, on which, for example, the operating system iOS orAndroid is installed, are equipped with the functionality to becontacted by a notification server, which provides the necessaryinfrastructure to contact and to send data to the mobile terminals via aunique ID regardless of existing network topologies. This is strictly aone-way communication from the notification server to the mobileterminal.

In the conventional process, the user starts a print job by operatingthe user interface of the employed application on the VD-Server. Thisusually involves selecting the menu item “Print” or directly pressing abutton. A few more steps are still possible thereafter, such asselecting the desired printer, when several printers are installed, andsetting parameters for the print job, for example, the paper size ortwo-sided printing. Thereafter, the print job on the server is forwardedto the printer driver of the selected printer, which converts the datainto the required format and forwards the data to the printer. Thisprocedure is not practical for mobile terminals located outside of thenetwork, since the user has no access to the printer and hence cannotaccess the actual print.

SUMMARY OF THE INVENTION

The inventors have found a method for transmitting print data thatfacilitates the printing of data for the user. The invention is intendedto allow a user to send a print job from a session to a locallyconnected printer. It is the object of the invention to make theprinters installed on this mobile terminal available to the user of a VDsession during the VD session.

According to the invention, a method according to claim 10 fortransmitting print data is presented. According to the invention, aserver according to claim 1 and a mobile terminal according to claim 5are also provided.

The method according to the invention includes the following steps:registering a mobile terminal in an application executed on a serverand/or transmitting an ID of the mobile terminal in the context of astructure of a session of the application, wherein the application isunable to access data stored locally on the mobile terminal; controllingthe application to generate data to be stored on the server or to modifydata stored on the server by a user of the mobile terminal; initiating aprint job for the data from within the application by the user;forwarding the print job to a virtual printer installed on the server;generating with the virtual printer the print data from the data;storing the print data; notifying the mobile terminal that the printdata are stored; establishing with the mobile terminal a connection fromthe mobile terminal to the server; and forwarding the print data via themobile terminal from the server to a printer communicating with themobile terminal.

On the server according to the invention an application is stored, whichis configured to display on a screen of a mobile terminal a graphic userinterface for the application and to be controlled from the mobileterminal via a keyboard and/or a pointing device for generating data tobe stored on the server or for modifying data stored on the server. Theapplication cannot access data that are stored locally on the mobileterminal. The application is configured to be controlled by the mobileterminal so that print data are generated from the data on the serverbased from within the application. The server is characterized in thatthe print data are generated for printing on a printer connected orconnectable to the mobile terminal, and that the mobile terminal isnotified by the server of the availability of the print data after theprint data are generated.

The mobile terminal according to the invention includes a keyboardand/or a pointing device for controlling an application executed on aserver for generating data to be stored on the server or for modifyingdata stored on the server. The application cannot access data that arestored locally on the mobile terminal. The mobile terminal is configuredto query the print data from the server or from another server inresponse to a notification of the availability of print data generatedfrom the data on the server and to forward them to a printer.

In a preferred embodiment of the server, a virtual printer is installedon the server, which is configured to generate from the data the printdata in PDF format, in PCL format and/or in PostScript format.

The print data can be supplemented with additional information relatedto printing. The print data can be stored on another server, and themobile terminal can also be notified via an address of the other server.

In a preferred embodiment of the mobile terminal, the mobile terminal isconfigured to query a confirmation from a user in response to thenotification, before the print data are queried from the server andforwarded to the printer. The user may be given the opportunity withinthe context of the confirmation to select the printer from a list ofprinters and/or to modify at least one print setting.

When the application is called, the mobile terminal can perform aregistration on the server and/or transmit an ID of the mobile terminalto the server and the mobile terminal can be informed of theavailability of the print data based on the registration or thetransmitted ID of the mobile terminal.

The mobile terminal may be configured to query the print data fromanother server, wherein a predetermined address of the other server maybe stored in the mobile terminal or may be included in the notification.

According to the invention, a computer readable storage medium is lastlyalso proposed on which an application and/or a module are stored. Theapplication is hereby configured to be executed on a server and tosubsequently display on a screen of a mobile terminal a graphic userinterface for the application and to be controlled by the mobileterminal via a keyboard and/or a pointing device for generating data tobe stored on the server or for modifying data stored on the server. Theapplication cannot access data that are stored locally on the mobileterminal. The application is configured to be controlled, when executedby a server, from a mobile terminal in such a way that print data can begenerated on the server from the data for printing on a printerconnected or connectable to the mobile terminal from within theapplication, and that the mobile terminal can be notified by the serverof the availability of the print data after the print data aregenerated. The module is configured to query the print data from theserver or from another server when executed on a mobile terminal inresponse to a notification of availability of print data generated fromthe data on a server and to forward the print data to a printerconnected to the mobile terminal.

According to the invention, an infrastructure with a notification servercan be used so that a module installed on the mobile terminal respondsto a specific message from the notification server so as to query theprint data from the server and to forward the print data to the printer.

Advantageous embodiments of the invention are recited in the dependentclaims and described in the specification.

DRAWING

Embodiments of the invention will now be described in more detail withreference to the drawing and the following description, wherein:

FIG. 1 shows schematically and by way of example a process flow of themethod according to the invention.

Embodiments of the invention relate to a method for the transmission ofprint data, components, and an arrangement for the realization of themethod, a corresponding computer program and a correspondingcomputer-readable storage medium (computer program product) on which thecomputer program is stored. In particular, the method makes it possibleto print from a terminal server session or a virtual desktop session,which is controlled by an optionally mobile terminal, data generatedand/or modified in the context of the application, for example adocument, on a printer that is connected to the mobile terminal.Examples of mobile terminals are tablet computers and smartphones.

The proliferation of mobile terminals and mobile data connections makesit possible to set up such a session on a tablet computer or even on amobile phone. The particular advantage of virtual desktops on thesedevices lies in the strict separation of data and applications.

In particular, however, locally installed printers are not directlyaccessible to the application, when the user wants to print from thesession, because the server has no knowledge of the printers connectedto the mobile terminal. Thus, printers connected to the mobile terminalcannot be installed on the server. The application can directly accessonly centrally installed printers, such as printers that reside on thecorporate network and that can be addressed via the server. However,these printers are not usable, if the mobile terminal is not locatedwithin the corporate network.

In an exemplary embodiment of the invention, a virtual printer istherefore created on the server. This printer is configured to accept aprint job for data stored on the server and to convert the data intoprint data.

For example, the print data are generated in PDF format, because thisformat must run on all printers that connect with the mobile terminalvia the AirPrint protocol. However, print data may also be generated ina different printable format, for example, in PCL format or inPostScript format. These two formats are advantageously supported by alarge number of printers. In other embodiments of the invention, otherprint data formats are generated. After the print data have beengenerated, they are stored on the server or on another server for lateraccess.

The server or the other server can keep a list of mobile terminals. Whenseveral mobile terminals are active on the server, a notification servercan be informed, based on the list, as to which mobile terminal shouldbe informed of the storage of generated print data. The server theninforms the respective mobile terminal that the print data have beenstored.

For this purpose, for example notification mechanisms can be used thatare standard on the mobile terminal. For example, the APN-service(“Apple Push Notification”) can be used in mobile terminals based on theoperating system iOS to transmit the notification to the mobileterminal. The notification is received by a module installed on themobile terminal. The module can establish a connection to the server,which has stored the print data, in order to transmit the print data tothe mobile terminal and forward the print data to a printer connected tothe mobile terminal. The module can optionally display a message on agraphic user interface of the mobile terminal before transmitting theprint data. The transmission may also require a prior confirmation bythe user of the mobile terminal. The module may then also prompt theuser for this confirmation in the message. The user may additionally oralternatively have the option to select a printer and/or to change printsettings.

The print data can optionally be supplemented with information that goesbeyond the pure print data. Since the module on the mobile terminalreceives the data and forwards the data to the printer, the additionallygenerated information can be read and additional steps can be performedbased on this additional information. This may concern simple things,such as limiting the selection of the printer or set specific printersettings. Further actions are also possible, such as for example openinga dialogue to display additional information to the user. This shouldserve only as an example, since in principle any operation that istechnically feasible on the mobile terminal can be triggered orinfluenced by the additional information.

FIG. 1 shows schematically in form of an example a process flow of anembodiment of the method according to the invention. Steps are carriedout with the method, which include receiving the print job, performingthe conversion into the printer-specific format, saving theprinter-specific format on another server, informing the mobile terminalabout the completed conversion, reporting the completed conversion tothe user, and transmitting the print data to the mobile terminal afterconfirmation from the user, and then, in the last step, forwarding theprint data to the connected printer.

A user has started a VD session 101 on the mobile terminal 100, which iscarried out on the server 110 via the connection 103. For this purpose,the server 110 has set up a virtual environment 111, in which thevirtual printer 112 a, b, . . . is installed. Only one virtual printer112 may be installed. The user initiates in the session 101 a print job,which is forwarded to the selected virtual printer 112 via theconnection 113. This virtual printer generates the print data for theprinter 200. Additional information intended for the module 102 on themobile terminal 100 can be added. The virtual printer forwards the datavia the connection 114 to the server 120, where the data are storeduntil they are recalled. After complete receipt of the data, the server120 instructs the notification server 130 via the connection 121 toinform the mobile terminal 100 of the availability of the data. Thenotification server 130 establishes the connection 131 and transmits themessage to the mobile terminal 100. The mobile terminal 100 then sets upa connection 104 to the server 120 and requests the print data. Theinformation that was added to the print data by the printer driver 112is removed from this data stream. At the end, the print data are sentfrom the module 102 via the connection 106 a, b, . . . to the printer200 a, b, . . . .

The server 120 needs information about the mobile terminal to which thenotification server is to report the generation of the print data.Several methods are conceivable for this purpose:

-   -   The mobile terminal 100 is registered with the server 120 before        setting up the session 101.    -   The ID of the mobile terminal 100 is transmitted by mobile        terminal 100 to the VD server 110 at the start of the VD session        101. This ID is transmitted to the server 120 with the        transmission of the print data 114.

Conversely, the mobile terminal needs the information about the serveron which the print data are stored. Several methods are also conceivablefor this purpose:

-   -   The server 120 forwards its address to the notification server        130 in step 121, which then transmits this information together        with the message to the mobile terminal 100 in step 131.    -   The address of the server 120 is stored when the module 102 is        set up on the mobile terminal 100.

1.-10. (canceled)
 11. A server comprising an application installed andexecuted on the server, wherein the application is configured to displaya graphic user interface for the application on a screen of a mobileterminal, wherein the application is controlled by the mobile terminalby way of keyboard or a pointing device of the mobile terminal forgenerating first data in the context of the application to be stored onthe server or for modifying first data stored on the server in thecontext of the application and to generate from the first data on theserver from within the application print data for printing on theprinter, wherein the application is unable to access second data storedlocally on the mobile terminal, wherein the server or another servernotifies the mobile terminal, after the print data have been generated,that the print data are available for forwarding, via the mobileterminal, to a printer connected to the mobile terminal.
 12. The serverof claim 11, comprising a virtual printer installed on the server,wherein the virtual printer is configured to generate from the firstdata the print data in a format selected from PDF, PCL and PostScript.13. The server of claim 11, wherein the print data are supplemented withadditional print-related information.
 14. The server of claim 11,wherein the print data are stored on the other server and the mobileterminal is also notified via an address of the other server.
 15. Theserver of claim 11, wherein when the application is called, the mobileterminal registers with the server or transmits an ID of the mobileterminal to the server, or both, and the mobile terminal is informed ofthe availability of the print data based on the registration or thetransmitted ID of the mobile terminal. 16-20. (canceled)
 21. A methodfor transmitting print data, comprising: registering a mobile terminalwith an application executed on a server or transmitting an ID of themobile terminal in conjunction with setting up a session of theapplication, or both, controlling the application by a user of themobile terminal to generate, in the context of the application, firstdata to be stored on the server or to modify, in the context of theapplication, first data stored on the server, wherein the application isunable to access second data stored locally on the mobile terminal,initiating by the user a print job for the first data in theapplication, forwarding the print job to a virtual printer installed onthe server, generating the print data with the virtual printer from thefirst data, storing the print data, notifying the mobile terminal thatthe print data are stored, establishing with the mobile terminal aconnection from the mobile terminal to the server, and forwarding theprint data from the server via the mobile terminal to a printerconnected with the mobile terminal.